const Store = require('../models/store');
const { StatusCodes } = require('http-status-codes');
const AppError = require('../utils/appError');

class StoreService {
  async createStore(storeData) {
    return await Store.create(storeData);
  }

  async getStoreById(id) {
    return await Store.findById(id);
  }

  async getAllStores({ status } = {}) {
    if (status) {
      return await Store.findByStatus(status);
    }
    return await Store.findAll();
  }

  async updateStore(id, updateData) {
    await this.getStoreById(id); // Verify store exists
    return await Store.update(id, updateData);
  }

  async updateStoreStatus(id, status) {
    await this.getStoreById(id); // Verify store exists
    return await Store.updateStatus(id, status);
  }

  async deleteStore(id) {
    await this.getStoreById(id); // Verify store exists
    return await Store.delete(id);
  }
}

module.exports = new StoreService(); 